FT-991AからSメーターの信号を読み込む (2)
8/11(木・祝)もくもく会での私の仕事。FT-991AからのSメーター信号→数値加工→5段階にふるい分け→5バーLEDを連動、までできました。下記にコードをかきました。今度の日曜日ももくもく会開催しますので、訪問いただければ説明します。ZOOM参加もOKです。 #R16Lab https://gyazo.com/7fda26ae87330993e0db566c5606c8d9
hr.icon
2022/8/11
code:.ino
String S = "";
int i;
void setup() {
// initialize both serial ports:
Serial.begin(9600);
Serial1.begin(4800, SERIAL_8N2);
}
void loop() {
i = 0;
Serial1.print("SM0;");
while (!Serial1.available()) ;
while (Serial1.available()) {
i += 1;
}
S = String(bf);
S = S.substring(2,6);
Serial.println(S);
delay(1000);
}
https://gyazo.com/b3fa668a6cba7f33f1d910e362f8b3a4
hr.icon
点検(LEDが順番につく)
code:.ino
String S = "";
int i;
int sm;
void bar(int s) {
dispclr();
digitalWrite(s, HIGH);
}
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
// initialize both serial ports:
Serial.begin(9600);
Serial1.begin(4800, SERIAL_8N2);
dispclr();
}
void dispclr() {
digitalWrite(14, LOW);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17, LOW);
digitalWrite(18, LOW);
}
void loop() {
bar(14);
delay(500);
bar(15);
delay(500);
bar(16);
delay(500);
bar(17);
delay(500);
bar(18);
delay(500);
dispclr();
}
hr.icon
動いた 2022/8/11
code:.ino
String S = "";
int i;
int sm;
void bar(int s) {
dispclr();
digitalWrite(s, HIGH);
}
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
// initialize both serial ports:
Serial.begin(9600);
Serial1.begin(4800, SERIAL_8N2);
dispclr();
}
void dispclr() {
digitalWrite(14, LOW);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17, LOW);
digitalWrite(18, LOW);
}
void loop() {
i = 0;
Serial1.print("SM0;");
while (!Serial1.available()) ;
while (Serial1.available()) {
i += 1;
}
S = String(bf);
S = S.substring(2, 6);
Serial.println(S);
sm = S.toInt();
Serial.println(sm);
if (sm < 40) bar(14);
if (sm >= 40 && sm < 80) bar(15);
if (sm >= 80 && sm < 120) bar(16);
if (sm >= 120 && sm < 160) bar(17);
if (sm >= 160) bar(18);
delay(200);
}
https://gyazo.com/d12442f7bcc1ad3cf2389253cf11fea2
hr.icon
https://gyazo.com/672730ecf450202d7be03c593f9b5fa6
hr.icon